package com.atguigu.jxc.dao;

import com.atguigu.jxc.entity.Goods;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author luojia
 * @create 2022-01-01 15:28
 */
public interface GoodsDao {
    /**
     * 查询当前库存，(根据商品类别，商品编码或名称搜索)
     * @param initialRow
     * @param rows
     * @param codeOrName
     * @param goodsTypeId
     * @return
     */
    List<Goods> listInventory(@Param("initialRow") Integer initialRow,@Param("rows") Integer rows,@Param("codeOrName") String codeOrName,@Param("goodsTypeId") Integer goodsTypeId);

    /**
     * 获取商品类别名称
     * @param typeId
     * @return
     */
    String getGoodsTypeName(@Param("typeId") Integer typeId);

    /**
     * 获取商品 销售总量
     * @param goodsId
     * @return
     */
    Integer getSaleTotal(@Param("goodsId") Integer goodsId);

    /**
     * 查询当前库存，(根据商品类别，商品编码或名称搜索)
     * @param rows
     * @param SizeStarter
     * @param goodsName
     * @param goodsTypeId
     * @return
     */
    List<Goods> queryAllGoods(@Param("rows") Integer rows,@Param("SizeStarter") Integer SizeStarter,@Param("goodsName") String goodsName,@Param("goodsTypeId") Integer goodsTypeId);

    /**
     * 通过goodsCode查询出商品，并通过goodsNum修改数量
     * @param goodsCode
     * @param goodsNum
     */
    void update(@Param("goodsCode") String goodsCode,@Param("goodsNum") Integer goodsNum);

    /**
     * 根据订单号查询库存数量
     * @param goodsCode
     * @return
     */
    Integer getGood(String goodsCode);
}